/*
 * XML Type:  VisualModel
 * Namespace: http:///org/isistan/flabot/edit/editormodel.ecore
 * Java type: org.isistan.flabot.edit.editormodelEcore.VisualModel
 *
 * Automatically generated - do not modify.
 */
package org.isistan.flabot.edit.editormodelEcore.impl;
/**
 * An XML VisualModel(@http:///org/isistan/flabot/edit/editormodel.ecore).
 *
 * This is a complex type.
 */
public class VisualModelImpl extends org.isistan.flabot.edit.editormodelEcore.impl.AdapterImpl implements org.isistan.flabot.edit.editormodelEcore.VisualModel
{
    private static final long serialVersionUID = 1L;
    
    public VisualModelImpl(org.apache.xmlbeans.SchemaType sType)
    {
        super(sType);
    }
    
    private static final javax.xml.namespace.QName CHILDREN$0 = 
        new javax.xml.namespace.QName("", "children");
    private static final javax.xml.namespace.QName PARENT$2 = 
        new javax.xml.namespace.QName("", "parent");
    private static final javax.xml.namespace.QName SEMANTICMODEL$4 = 
        new javax.xml.namespace.QName("", "semanticModel");
    private static final javax.xml.namespace.QName LOCATION$6 = 
        new javax.xml.namespace.QName("", "location");
    private static final javax.xml.namespace.QName SIZE$8 = 
        new javax.xml.namespace.QName("", "size");
    private static final javax.xml.namespace.QName BACKGROUNDCOLOR$10 = 
        new javax.xml.namespace.QName("", "backgroundColor");
    private static final javax.xml.namespace.QName FOREGROUNDCOLOR$12 = 
        new javax.xml.namespace.QName("", "foregroundColor");
    private static final javax.xml.namespace.QName PARENT2$14 = 
        new javax.xml.namespace.QName("", "parent");
    private static final javax.xml.namespace.QName LOCATION2$16 = 
        new javax.xml.namespace.QName("", "location");
    private static final javax.xml.namespace.QName SIZE2$18 = 
        new javax.xml.namespace.QName("", "size");
    private static final javax.xml.namespace.QName DIAGRAM$20 = 
        new javax.xml.namespace.QName("", "diagram");
    private static final javax.xml.namespace.QName BACKGROUNDCOLOR2$22 = 
        new javax.xml.namespace.QName("", "backgroundColor");
    private static final javax.xml.namespace.QName FOREGROUNDCOLOR2$24 = 
        new javax.xml.namespace.QName("", "foregroundColor");
    private static final javax.xml.namespace.QName LINESTYLE$26 = 
        new javax.xml.namespace.QName("", "lineStyle");
    private static final javax.xml.namespace.QName LINEWIDTH$28 = 
        new javax.xml.namespace.QName("", "lineWidth");
    private static final javax.xml.namespace.QName DETAILLEVEL$30 = 
        new javax.xml.namespace.QName("", "detailLevel");
    private static final javax.xml.namespace.QName SEMANTICMODEL2$32 = 
        new javax.xml.namespace.QName("", "semanticModel");
    
    
    /**
     * Gets array of all "children" elements
     */
    public org.isistan.flabot.edit.editormodelEcore.VisualModel[] getChildrenArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            java.util.List targetList = new java.util.ArrayList();
            get_store().find_all_element_users(CHILDREN$0, targetList);
            org.isistan.flabot.edit.editormodelEcore.VisualModel[] result = new org.isistan.flabot.edit.editormodelEcore.VisualModel[targetList.size()];
            targetList.toArray(result);
            return result;
        }
    }
    
    /**
     * Gets ith "children" element
     */
    public org.isistan.flabot.edit.editormodelEcore.VisualModel getChildrenArray(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.edit.editormodelEcore.VisualModel target = null;
            target = (org.isistan.flabot.edit.editormodelEcore.VisualModel)get_store().find_element_user(CHILDREN$0, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            return target;
        }
    }
    
    /**
     * Returns number of "children" element
     */
    public int sizeOfChildrenArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(CHILDREN$0);
        }
    }
    
    /**
     * Sets array of all "children" element  WARNING: This method is not atomicaly synchronized.
     */
    public void setChildrenArray(org.isistan.flabot.edit.editormodelEcore.VisualModel[] childrenArray)
    {
        check_orphaned();
        arraySetterHelper(childrenArray, CHILDREN$0);
    }
    
    /**
     * Sets ith "children" element
     */
    public void setChildrenArray(int i, org.isistan.flabot.edit.editormodelEcore.VisualModel children)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.edit.editormodelEcore.VisualModel target = null;
            target = (org.isistan.flabot.edit.editormodelEcore.VisualModel)get_store().find_element_user(CHILDREN$0, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            target.set(children);
        }
    }
    
    /**
     * Inserts and returns a new empty value (as xml) as the ith "children" element
     */
    public org.isistan.flabot.edit.editormodelEcore.VisualModel insertNewChildren(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.edit.editormodelEcore.VisualModel target = null;
            target = (org.isistan.flabot.edit.editormodelEcore.VisualModel)get_store().insert_element_user(CHILDREN$0, i);
            return target;
        }
    }
    
    /**
     * Appends and returns a new empty value (as xml) as the last "children" element
     */
    public org.isistan.flabot.edit.editormodelEcore.VisualModel addNewChildren()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.edit.editormodelEcore.VisualModel target = null;
            target = (org.isistan.flabot.edit.editormodelEcore.VisualModel)get_store().add_element_user(CHILDREN$0);
            return target;
        }
    }
    
    /**
     * Removes the ith "children" element
     */
    public void removeChildren(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(CHILDREN$0, i);
        }
    }
    
    /**
     * Gets array of all "parent" elements
     */
    public org.isistan.flabot.edit.editormodelEcore.VisualModel[] getParentArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            java.util.List targetList = new java.util.ArrayList();
            get_store().find_all_element_users(PARENT2$14, targetList);
            org.isistan.flabot.edit.editormodelEcore.VisualModel[] result = new org.isistan.flabot.edit.editormodelEcore.VisualModel[targetList.size()];
            targetList.toArray(result);
            return result;
        }
    }
    
    /**
     * Gets ith "parent" element
     */
    public org.isistan.flabot.edit.editormodelEcore.VisualModel getParentArray(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.edit.editormodelEcore.VisualModel target = null;
            target = (org.isistan.flabot.edit.editormodelEcore.VisualModel)get_store().find_element_user(PARENT2$14, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            return target;
        }
    }
    
    /**
     * Returns number of "parent" element
     */
    public int sizeOfParentArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(PARENT2$14);
        }
    }
    
    /**
     * Sets array of all "parent" element  WARNING: This method is not atomicaly synchronized.
     */
    public void setParentArray(org.isistan.flabot.edit.editormodelEcore.VisualModel[] parentArray)
    {
        check_orphaned();
        arraySetterHelper(parentArray, PARENT2$14);
    }
    
    /**
     * Sets ith "parent" element
     */
    public void setParentArray(int i, org.isistan.flabot.edit.editormodelEcore.VisualModel parent)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.edit.editormodelEcore.VisualModel target = null;
            target = (org.isistan.flabot.edit.editormodelEcore.VisualModel)get_store().find_element_user(PARENT2$14, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            target.set(parent);
        }
    }
    
    /**
     * Inserts and returns a new empty value (as xml) as the ith "parent" element
     */
    public org.isistan.flabot.edit.editormodelEcore.VisualModel insertNewParent(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.edit.editormodelEcore.VisualModel target = null;
            target = (org.isistan.flabot.edit.editormodelEcore.VisualModel)get_store().insert_element_user(PARENT2$14, i);
            return target;
        }
    }
    
    /**
     * Appends and returns a new empty value (as xml) as the last "parent" element
     */
    public org.isistan.flabot.edit.editormodelEcore.VisualModel addNewParent()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.edit.editormodelEcore.VisualModel target = null;
            target = (org.isistan.flabot.edit.editormodelEcore.VisualModel)get_store().add_element_user(PARENT2$14);
            return target;
        }
    }
    
    /**
     * Removes the ith "parent" element
     */
    public void removeParent(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(PARENT2$14, i);
        }
    }
    
    /**
     * Gets array of all "semanticModel" elements
     */
    public org.eclipse.emf.x2002.ecore.EObject[] getSemanticModelArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            java.util.List targetList = new java.util.ArrayList();
            get_store().find_all_element_users(SEMANTICMODEL2$32, targetList);
            org.eclipse.emf.x2002.ecore.EObject[] result = new org.eclipse.emf.x2002.ecore.EObject[targetList.size()];
            targetList.toArray(result);
            return result;
        }
    }
    
    /**
     * Gets ith "semanticModel" element
     */
    public org.eclipse.emf.x2002.ecore.EObject getSemanticModelArray(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.eclipse.emf.x2002.ecore.EObject target = null;
            target = (org.eclipse.emf.x2002.ecore.EObject)get_store().find_element_user(SEMANTICMODEL2$32, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            return target;
        }
    }
    
    /**
     * Returns number of "semanticModel" element
     */
    public int sizeOfSemanticModelArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(SEMANTICMODEL2$32);
        }
    }
    
    /**
     * Sets array of all "semanticModel" element  WARNING: This method is not atomicaly synchronized.
     */
    public void setSemanticModelArray(org.eclipse.emf.x2002.ecore.EObject[] semanticModelArray)
    {
        check_orphaned();
        arraySetterHelper(semanticModelArray, SEMANTICMODEL2$32);
    }
    
    /**
     * Sets ith "semanticModel" element
     */
    public void setSemanticModelArray(int i, org.eclipse.emf.x2002.ecore.EObject semanticModel)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.eclipse.emf.x2002.ecore.EObject target = null;
            target = (org.eclipse.emf.x2002.ecore.EObject)get_store().find_element_user(SEMANTICMODEL2$32, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            target.set(semanticModel);
        }
    }
    
    /**
     * Inserts and returns a new empty value (as xml) as the ith "semanticModel" element
     */
    public org.eclipse.emf.x2002.ecore.EObject insertNewSemanticModel(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.eclipse.emf.x2002.ecore.EObject target = null;
            target = (org.eclipse.emf.x2002.ecore.EObject)get_store().insert_element_user(SEMANTICMODEL2$32, i);
            return target;
        }
    }
    
    /**
     * Appends and returns a new empty value (as xml) as the last "semanticModel" element
     */
    public org.eclipse.emf.x2002.ecore.EObject addNewSemanticModel()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.eclipse.emf.x2002.ecore.EObject target = null;
            target = (org.eclipse.emf.x2002.ecore.EObject)get_store().add_element_user(SEMANTICMODEL2$32);
            return target;
        }
    }
    
    /**
     * Removes the ith "semanticModel" element
     */
    public void removeSemanticModel(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(SEMANTICMODEL2$32, i);
        }
    }
    
    /**
     * Gets array of all "location" elements
     */
    public org.isistan.flabot.edit.editormodelEcore.Point[] getLocationArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            java.util.List targetList = new java.util.ArrayList();
            get_store().find_all_element_users(LOCATION2$16, targetList);
            org.isistan.flabot.edit.editormodelEcore.Point[] result = new org.isistan.flabot.edit.editormodelEcore.Point[targetList.size()];
            targetList.toArray(result);
            return result;
        }
    }
    
    /**
     * Gets ith "location" element
     */
    public org.isistan.flabot.edit.editormodelEcore.Point getLocationArray(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.edit.editormodelEcore.Point target = null;
            target = (org.isistan.flabot.edit.editormodelEcore.Point)get_store().find_element_user(LOCATION2$16, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            return target;
        }
    }
    
    /**
     * Returns number of "location" element
     */
    public int sizeOfLocationArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(LOCATION2$16);
        }
    }
    
    /**
     * Sets array of all "location" element  WARNING: This method is not atomicaly synchronized.
     */
    public void setLocationArray(org.isistan.flabot.edit.editormodelEcore.Point[] locationArray)
    {
        check_orphaned();
        arraySetterHelper(locationArray, LOCATION2$16);
    }
    
    /**
     * Sets ith "location" element
     */
    public void setLocationArray(int i, org.isistan.flabot.edit.editormodelEcore.Point location)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.edit.editormodelEcore.Point target = null;
            target = (org.isistan.flabot.edit.editormodelEcore.Point)get_store().find_element_user(LOCATION2$16, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            target.set(location);
        }
    }
    
    /**
     * Inserts and returns a new empty value (as xml) as the ith "location" element
     */
    public org.isistan.flabot.edit.editormodelEcore.Point insertNewLocation(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.edit.editormodelEcore.Point target = null;
            target = (org.isistan.flabot.edit.editormodelEcore.Point)get_store().insert_element_user(LOCATION2$16, i);
            return target;
        }
    }
    
    /**
     * Appends and returns a new empty value (as xml) as the last "location" element
     */
    public org.isistan.flabot.edit.editormodelEcore.Point addNewLocation()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.edit.editormodelEcore.Point target = null;
            target = (org.isistan.flabot.edit.editormodelEcore.Point)get_store().add_element_user(LOCATION2$16);
            return target;
        }
    }
    
    /**
     * Removes the ith "location" element
     */
    public void removeLocation(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(LOCATION2$16, i);
        }
    }
    
    /**
     * Gets array of all "size" elements
     */
    public org.isistan.flabot.edit.editormodelEcore.Dimension[] getSizeArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            java.util.List targetList = new java.util.ArrayList();
            get_store().find_all_element_users(SIZE2$18, targetList);
            org.isistan.flabot.edit.editormodelEcore.Dimension[] result = new org.isistan.flabot.edit.editormodelEcore.Dimension[targetList.size()];
            targetList.toArray(result);
            return result;
        }
    }
    
    /**
     * Gets ith "size" element
     */
    public org.isistan.flabot.edit.editormodelEcore.Dimension getSizeArray(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.edit.editormodelEcore.Dimension target = null;
            target = (org.isistan.flabot.edit.editormodelEcore.Dimension)get_store().find_element_user(SIZE2$18, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            return target;
        }
    }
    
    /**
     * Returns number of "size" element
     */
    public int sizeOfSizeArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(SIZE2$18);
        }
    }
    
    /**
     * Sets array of all "size" element  WARNING: This method is not atomicaly synchronized.
     */
    public void setSizeArray(org.isistan.flabot.edit.editormodelEcore.Dimension[] sizeArray)
    {
        check_orphaned();
        arraySetterHelper(sizeArray, SIZE2$18);
    }
    
    /**
     * Sets ith "size" element
     */
    public void setSizeArray(int i, org.isistan.flabot.edit.editormodelEcore.Dimension size)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.edit.editormodelEcore.Dimension target = null;
            target = (org.isistan.flabot.edit.editormodelEcore.Dimension)get_store().find_element_user(SIZE2$18, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            target.set(size);
        }
    }
    
    /**
     * Inserts and returns a new empty value (as xml) as the ith "size" element
     */
    public org.isistan.flabot.edit.editormodelEcore.Dimension insertNewSize(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.edit.editormodelEcore.Dimension target = null;
            target = (org.isistan.flabot.edit.editormodelEcore.Dimension)get_store().insert_element_user(SIZE2$18, i);
            return target;
        }
    }
    
    /**
     * Appends and returns a new empty value (as xml) as the last "size" element
     */
    public org.isistan.flabot.edit.editormodelEcore.Dimension addNewSize()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.edit.editormodelEcore.Dimension target = null;
            target = (org.isistan.flabot.edit.editormodelEcore.Dimension)get_store().add_element_user(SIZE2$18);
            return target;
        }
    }
    
    /**
     * Removes the ith "size" element
     */
    public void removeSize(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(SIZE2$18, i);
        }
    }
    
    /**
     * Gets array of all "backgroundColor" elements
     */
    public org.isistan.flabot.edit.editormodelEcore.Color[] getBackgroundColorArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            java.util.List targetList = new java.util.ArrayList();
            get_store().find_all_element_users(BACKGROUNDCOLOR2$22, targetList);
            org.isistan.flabot.edit.editormodelEcore.Color[] result = new org.isistan.flabot.edit.editormodelEcore.Color[targetList.size()];
            targetList.toArray(result);
            return result;
        }
    }
    
    /**
     * Gets ith "backgroundColor" element
     */
    public org.isistan.flabot.edit.editormodelEcore.Color getBackgroundColorArray(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.edit.editormodelEcore.Color target = null;
            target = (org.isistan.flabot.edit.editormodelEcore.Color)get_store().find_element_user(BACKGROUNDCOLOR2$22, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            return target;
        }
    }
    
    /**
     * Returns number of "backgroundColor" element
     */
    public int sizeOfBackgroundColorArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(BACKGROUNDCOLOR2$22);
        }
    }
    
    /**
     * Sets array of all "backgroundColor" element  WARNING: This method is not atomicaly synchronized.
     */
    public void setBackgroundColorArray(org.isistan.flabot.edit.editormodelEcore.Color[] backgroundColorArray)
    {
        check_orphaned();
        arraySetterHelper(backgroundColorArray, BACKGROUNDCOLOR2$22);
    }
    
    /**
     * Sets ith "backgroundColor" element
     */
    public void setBackgroundColorArray(int i, org.isistan.flabot.edit.editormodelEcore.Color backgroundColor)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.edit.editormodelEcore.Color target = null;
            target = (org.isistan.flabot.edit.editormodelEcore.Color)get_store().find_element_user(BACKGROUNDCOLOR2$22, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            target.set(backgroundColor);
        }
    }
    
    /**
     * Inserts and returns a new empty value (as xml) as the ith "backgroundColor" element
     */
    public org.isistan.flabot.edit.editormodelEcore.Color insertNewBackgroundColor(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.edit.editormodelEcore.Color target = null;
            target = (org.isistan.flabot.edit.editormodelEcore.Color)get_store().insert_element_user(BACKGROUNDCOLOR2$22, i);
            return target;
        }
    }
    
    /**
     * Appends and returns a new empty value (as xml) as the last "backgroundColor" element
     */
    public org.isistan.flabot.edit.editormodelEcore.Color addNewBackgroundColor()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.edit.editormodelEcore.Color target = null;
            target = (org.isistan.flabot.edit.editormodelEcore.Color)get_store().add_element_user(BACKGROUNDCOLOR2$22);
            return target;
        }
    }
    
    /**
     * Removes the ith "backgroundColor" element
     */
    public void removeBackgroundColor(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(BACKGROUNDCOLOR2$22, i);
        }
    }
    
    /**
     * Gets array of all "foregroundColor" elements
     */
    public org.isistan.flabot.edit.editormodelEcore.Color[] getForegroundColorArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            java.util.List targetList = new java.util.ArrayList();
            get_store().find_all_element_users(FOREGROUNDCOLOR2$24, targetList);
            org.isistan.flabot.edit.editormodelEcore.Color[] result = new org.isistan.flabot.edit.editormodelEcore.Color[targetList.size()];
            targetList.toArray(result);
            return result;
        }
    }
    
    /**
     * Gets ith "foregroundColor" element
     */
    public org.isistan.flabot.edit.editormodelEcore.Color getForegroundColorArray(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.edit.editormodelEcore.Color target = null;
            target = (org.isistan.flabot.edit.editormodelEcore.Color)get_store().find_element_user(FOREGROUNDCOLOR2$24, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            return target;
        }
    }
    
    /**
     * Returns number of "foregroundColor" element
     */
    public int sizeOfForegroundColorArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(FOREGROUNDCOLOR2$24);
        }
    }
    
    /**
     * Sets array of all "foregroundColor" element  WARNING: This method is not atomicaly synchronized.
     */
    public void setForegroundColorArray(org.isistan.flabot.edit.editormodelEcore.Color[] foregroundColorArray)
    {
        check_orphaned();
        arraySetterHelper(foregroundColorArray, FOREGROUNDCOLOR2$24);
    }
    
    /**
     * Sets ith "foregroundColor" element
     */
    public void setForegroundColorArray(int i, org.isistan.flabot.edit.editormodelEcore.Color foregroundColor)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.edit.editormodelEcore.Color target = null;
            target = (org.isistan.flabot.edit.editormodelEcore.Color)get_store().find_element_user(FOREGROUNDCOLOR2$24, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            target.set(foregroundColor);
        }
    }
    
    /**
     * Inserts and returns a new empty value (as xml) as the ith "foregroundColor" element
     */
    public org.isistan.flabot.edit.editormodelEcore.Color insertNewForegroundColor(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.edit.editormodelEcore.Color target = null;
            target = (org.isistan.flabot.edit.editormodelEcore.Color)get_store().insert_element_user(FOREGROUNDCOLOR2$24, i);
            return target;
        }
    }
    
    /**
     * Appends and returns a new empty value (as xml) as the last "foregroundColor" element
     */
    public org.isistan.flabot.edit.editormodelEcore.Color addNewForegroundColor()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.edit.editormodelEcore.Color target = null;
            target = (org.isistan.flabot.edit.editormodelEcore.Color)get_store().add_element_user(FOREGROUNDCOLOR2$24);
            return target;
        }
    }
    
    /**
     * Removes the ith "foregroundColor" element
     */
    public void removeForegroundColor(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(FOREGROUNDCOLOR2$24, i);
        }
    }
    
    /**
     * Gets the "parent" attribute
     */
    public java.lang.String getParent2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(PARENT2$14);
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "parent" attribute
     */
    public org.apache.xmlbeans.XmlString xgetParent2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(PARENT2$14);
            return target;
        }
    }
    
    /**
     * True if has "parent" attribute
     */
    public boolean isSetParent2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(PARENT2$14) != null;
        }
    }
    
    /**
     * Sets the "parent" attribute
     */
    public void setParent2(java.lang.String parent2)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(PARENT2$14);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(PARENT2$14);
            }
            target.setStringValue(parent2);
        }
    }
    
    /**
     * Sets (as xml) the "parent" attribute
     */
    public void xsetParent2(org.apache.xmlbeans.XmlString parent2)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(PARENT2$14);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlString)get_store().add_attribute_user(PARENT2$14);
            }
            target.set(parent2);
        }
    }
    
    /**
     * Unsets the "parent" attribute
     */
    public void unsetParent2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(PARENT2$14);
        }
    }
    
    /**
     * Gets the "location" attribute
     */
    public java.lang.String getLocation2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(LOCATION2$16);
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "location" attribute
     */
    public org.apache.xmlbeans.XmlString xgetLocation2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(LOCATION2$16);
            return target;
        }
    }
    
    /**
     * True if has "location" attribute
     */
    public boolean isSetLocation2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(LOCATION2$16) != null;
        }
    }
    
    /**
     * Sets the "location" attribute
     */
    public void setLocation2(java.lang.String location2)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(LOCATION2$16);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(LOCATION2$16);
            }
            target.setStringValue(location2);
        }
    }
    
    /**
     * Sets (as xml) the "location" attribute
     */
    public void xsetLocation2(org.apache.xmlbeans.XmlString location2)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(LOCATION2$16);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlString)get_store().add_attribute_user(LOCATION2$16);
            }
            target.set(location2);
        }
    }
    
    /**
     * Unsets the "location" attribute
     */
    public void unsetLocation2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(LOCATION2$16);
        }
    }
    
    /**
     * Gets the "size" attribute
     */
    public java.lang.String getSize2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(SIZE2$18);
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "size" attribute
     */
    public org.apache.xmlbeans.XmlString xgetSize2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(SIZE2$18);
            return target;
        }
    }
    
    /**
     * True if has "size" attribute
     */
    public boolean isSetSize2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(SIZE2$18) != null;
        }
    }
    
    /**
     * Sets the "size" attribute
     */
    public void setSize2(java.lang.String size2)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(SIZE2$18);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(SIZE2$18);
            }
            target.setStringValue(size2);
        }
    }
    
    /**
     * Sets (as xml) the "size" attribute
     */
    public void xsetSize2(org.apache.xmlbeans.XmlString size2)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(SIZE2$18);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlString)get_store().add_attribute_user(SIZE2$18);
            }
            target.set(size2);
        }
    }
    
    /**
     * Unsets the "size" attribute
     */
    public void unsetSize2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(SIZE2$18);
        }
    }
    
    /**
     * Gets the "diagram" attribute
     */
    public java.lang.String getDiagram()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(DIAGRAM$20);
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "diagram" attribute
     */
    public org.apache.xmlbeans.XmlString xgetDiagram()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(DIAGRAM$20);
            return target;
        }
    }
    
    /**
     * True if has "diagram" attribute
     */
    public boolean isSetDiagram()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(DIAGRAM$20) != null;
        }
    }
    
    /**
     * Sets the "diagram" attribute
     */
    public void setDiagram(java.lang.String diagram)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(DIAGRAM$20);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(DIAGRAM$20);
            }
            target.setStringValue(diagram);
        }
    }
    
    /**
     * Sets (as xml) the "diagram" attribute
     */
    public void xsetDiagram(org.apache.xmlbeans.XmlString diagram)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(DIAGRAM$20);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlString)get_store().add_attribute_user(DIAGRAM$20);
            }
            target.set(diagram);
        }
    }
    
    /**
     * Unsets the "diagram" attribute
     */
    public void unsetDiagram()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(DIAGRAM$20);
        }
    }
    
    /**
     * Gets the "backgroundColor" attribute
     */
    public java.lang.String getBackgroundColor2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(BACKGROUNDCOLOR2$22);
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "backgroundColor" attribute
     */
    public org.apache.xmlbeans.XmlString xgetBackgroundColor2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(BACKGROUNDCOLOR2$22);
            return target;
        }
    }
    
    /**
     * True if has "backgroundColor" attribute
     */
    public boolean isSetBackgroundColor2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(BACKGROUNDCOLOR2$22) != null;
        }
    }
    
    /**
     * Sets the "backgroundColor" attribute
     */
    public void setBackgroundColor2(java.lang.String backgroundColor2)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(BACKGROUNDCOLOR2$22);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(BACKGROUNDCOLOR2$22);
            }
            target.setStringValue(backgroundColor2);
        }
    }
    
    /**
     * Sets (as xml) the "backgroundColor" attribute
     */
    public void xsetBackgroundColor2(org.apache.xmlbeans.XmlString backgroundColor2)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(BACKGROUNDCOLOR2$22);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlString)get_store().add_attribute_user(BACKGROUNDCOLOR2$22);
            }
            target.set(backgroundColor2);
        }
    }
    
    /**
     * Unsets the "backgroundColor" attribute
     */
    public void unsetBackgroundColor2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(BACKGROUNDCOLOR2$22);
        }
    }
    
    /**
     * Gets the "foregroundColor" attribute
     */
    public java.lang.String getForegroundColor2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(FOREGROUNDCOLOR2$24);
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "foregroundColor" attribute
     */
    public org.apache.xmlbeans.XmlString xgetForegroundColor2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(FOREGROUNDCOLOR2$24);
            return target;
        }
    }
    
    /**
     * True if has "foregroundColor" attribute
     */
    public boolean isSetForegroundColor2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(FOREGROUNDCOLOR2$24) != null;
        }
    }
    
    /**
     * Sets the "foregroundColor" attribute
     */
    public void setForegroundColor2(java.lang.String foregroundColor2)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(FOREGROUNDCOLOR2$24);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(FOREGROUNDCOLOR2$24);
            }
            target.setStringValue(foregroundColor2);
        }
    }
    
    /**
     * Sets (as xml) the "foregroundColor" attribute
     */
    public void xsetForegroundColor2(org.apache.xmlbeans.XmlString foregroundColor2)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(FOREGROUNDCOLOR2$24);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlString)get_store().add_attribute_user(FOREGROUNDCOLOR2$24);
            }
            target.set(foregroundColor2);
        }
    }
    
    /**
     * Unsets the "foregroundColor" attribute
     */
    public void unsetForegroundColor2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(FOREGROUNDCOLOR2$24);
        }
    }
    
    /**
     * Gets the "lineStyle" attribute
     */
    public int getLineStyle()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(LINESTYLE$26);
            if (target == null)
            {
                return 0;
            }
            return target.getIntValue();
        }
    }
    
    /**
     * Gets (as xml) the "lineStyle" attribute
     */
    public org.apache.xmlbeans.XmlInt xgetLineStyle()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlInt target = null;
            target = (org.apache.xmlbeans.XmlInt)get_store().find_attribute_user(LINESTYLE$26);
            return target;
        }
    }
    
    /**
     * True if has "lineStyle" attribute
     */
    public boolean isSetLineStyle()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(LINESTYLE$26) != null;
        }
    }
    
    /**
     * Sets the "lineStyle" attribute
     */
    public void setLineStyle(int lineStyle)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(LINESTYLE$26);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(LINESTYLE$26);
            }
            target.setIntValue(lineStyle);
        }
    }
    
    /**
     * Sets (as xml) the "lineStyle" attribute
     */
    public void xsetLineStyle(org.apache.xmlbeans.XmlInt lineStyle)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlInt target = null;
            target = (org.apache.xmlbeans.XmlInt)get_store().find_attribute_user(LINESTYLE$26);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlInt)get_store().add_attribute_user(LINESTYLE$26);
            }
            target.set(lineStyle);
        }
    }
    
    /**
     * Unsets the "lineStyle" attribute
     */
    public void unsetLineStyle()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(LINESTYLE$26);
        }
    }
    
    /**
     * Gets the "lineWidth" attribute
     */
    public int getLineWidth()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(LINEWIDTH$28);
            if (target == null)
            {
                return 0;
            }
            return target.getIntValue();
        }
    }
    
    /**
     * Gets (as xml) the "lineWidth" attribute
     */
    public org.apache.xmlbeans.XmlInt xgetLineWidth()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlInt target = null;
            target = (org.apache.xmlbeans.XmlInt)get_store().find_attribute_user(LINEWIDTH$28);
            return target;
        }
    }
    
    /**
     * True if has "lineWidth" attribute
     */
    public boolean isSetLineWidth()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(LINEWIDTH$28) != null;
        }
    }
    
    /**
     * Sets the "lineWidth" attribute
     */
    public void setLineWidth(int lineWidth)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(LINEWIDTH$28);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(LINEWIDTH$28);
            }
            target.setIntValue(lineWidth);
        }
    }
    
    /**
     * Sets (as xml) the "lineWidth" attribute
     */
    public void xsetLineWidth(org.apache.xmlbeans.XmlInt lineWidth)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlInt target = null;
            target = (org.apache.xmlbeans.XmlInt)get_store().find_attribute_user(LINEWIDTH$28);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlInt)get_store().add_attribute_user(LINEWIDTH$28);
            }
            target.set(lineWidth);
        }
    }
    
    /**
     * Unsets the "lineWidth" attribute
     */
    public void unsetLineWidth()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(LINEWIDTH$28);
        }
    }
    
    /**
     * Gets the "detailLevel" attribute
     */
    public int getDetailLevel()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(DETAILLEVEL$30);
            if (target == null)
            {
                return 0;
            }
            return target.getIntValue();
        }
    }
    
    /**
     * Gets (as xml) the "detailLevel" attribute
     */
    public org.apache.xmlbeans.XmlInt xgetDetailLevel()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlInt target = null;
            target = (org.apache.xmlbeans.XmlInt)get_store().find_attribute_user(DETAILLEVEL$30);
            return target;
        }
    }
    
    /**
     * True if has "detailLevel" attribute
     */
    public boolean isSetDetailLevel()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(DETAILLEVEL$30) != null;
        }
    }
    
    /**
     * Sets the "detailLevel" attribute
     */
    public void setDetailLevel(int detailLevel)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(DETAILLEVEL$30);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(DETAILLEVEL$30);
            }
            target.setIntValue(detailLevel);
        }
    }
    
    /**
     * Sets (as xml) the "detailLevel" attribute
     */
    public void xsetDetailLevel(org.apache.xmlbeans.XmlInt detailLevel)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlInt target = null;
            target = (org.apache.xmlbeans.XmlInt)get_store().find_attribute_user(DETAILLEVEL$30);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlInt)get_store().add_attribute_user(DETAILLEVEL$30);
            }
            target.set(detailLevel);
        }
    }
    
    /**
     * Unsets the "detailLevel" attribute
     */
    public void unsetDetailLevel()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(DETAILLEVEL$30);
        }
    }
    
    /**
     * Gets the "semanticModel" attribute
     */
    public java.lang.String getSemanticModel2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(SEMANTICMODEL2$32);
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "semanticModel" attribute
     */
    public org.apache.xmlbeans.XmlString xgetSemanticModel2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(SEMANTICMODEL2$32);
            return target;
        }
    }
    
    /**
     * True if has "semanticModel" attribute
     */
    public boolean isSetSemanticModel2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(SEMANTICMODEL2$32) != null;
        }
    }
    
    /**
     * Sets the "semanticModel" attribute
     */
    public void setSemanticModel2(java.lang.String semanticModel2)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(SEMANTICMODEL2$32);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(SEMANTICMODEL2$32);
            }
            target.setStringValue(semanticModel2);
        }
    }
    
    /**
     * Sets (as xml) the "semanticModel" attribute
     */
    public void xsetSemanticModel2(org.apache.xmlbeans.XmlString semanticModel2)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(SEMANTICMODEL2$32);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlString)get_store().add_attribute_user(SEMANTICMODEL2$32);
            }
            target.set(semanticModel2);
        }
    }
    
    /**
     * Unsets the "semanticModel" attribute
     */
    public void unsetSemanticModel2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(SEMANTICMODEL2$32);
        }
    }
}
